Objects in REALbasic are arranged in a hierarchy. This means that an object inherits the properties, methods, and events of its super class (the classes above it in the hierarchy) and may contain properties, methods, and events that are unique to the object.Cross-Platform Development


Using Target Flags

You can develop your application on one platform and compile it for up to three: Windows, Macintosh (classic and Mac OS X), and Linux. If your application will run on more than one platform, you can use the following global Boolean constants to determine which type of code is currently executing.

Boolean ConstantDescription
DebugBuild The application is running within the REALbasic application, i.e., from clicking the Run button in the IDE toolbar.
RBVersion Returns the version of REALbasic that is being compiled. You can use this in an expression that evaluates to True or False to determine which version of REALbasic is compiling the application.
TargetBigEndian The compiled application is running on a machine and OS that uses the Big Endian byte ordering.
TargetCarbon The compiled application is currently running Carbon/Mac OS X code.
TargetHasGUI The application has a GUI, i.e., it is not a ConsoleApplication or a ServiceApplication.
TargetLinux The compiled application is running Linux code.
TargetLittleEndian The compiled application is running on a machine and OS that uses the Little Endian byte ordering.
TargetMachO The compiled application is running on Mac OS X, running object code in the format for the Mach kernel.
TargetMacOS The compiled application is currently running Macintosh code, PPC 'classic', or Mac OS X, in either the MachO or PEF formats.
TargetMacOSClassic The compiled application is currently running PowerPC code within a 'classic' Mac O supported by REALbasic (Mac OS 8-9).
TargetWin32 The compiled application is currently running Win32 code.


Conditional Compilation

If some of your code should be compiled only for a particular target platform (such as AppleScript-specific code or Declare statements), you can use #If statements to compile that code only for the appropriate platform. Use the following structure:

#If TargetBoolean
 //OS-specific code
 //included in built app
 //only for target platform
#Else    (optional)
 (optional code)
#ElseIf  TargetBoolean   //(optional)
 //(optional) Other OS-specific code
#Endif